home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / man / man-part1 / cat4 / abinv.4 < prev    next >
Text File  |  1999-09-16  |  2KB  |  133 lines

  1.  
  2.  
  3.  
  4. abinv(1)                       Scilab Function                       abinv(1)
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. NAME
  12.   abinv -  AB invariant subspace
  13.  
  14. CALLING SEQUENCE
  15.   [X,nr,nvg,nv,F,k,Z]=abinv(Sl,alfa)
  16.  
  17. PARAMETERS
  18.  
  19.   sl        : syslin list containing the matrices [A,B,C,D].
  20.  
  21.   alpha     : real number or vector (possibly complex, location of closed
  22.             loop poles)
  23.  
  24.   X         : orthogonal matrix of size nx (dim of state space).
  25.  
  26.   nr,nvg,nv : three integers with nr<=nvg<=nv
  27.  
  28.   F         : real matrix (state feedback)
  29.  
  30.   k         : integer (normal rank of Sl)
  31.  
  32.   Z         : non-singular linear system (syslin list)
  33.  
  34. DESCRIPTION
  35.   Output nulling subspace (maximal unobservable subspace) for Sl = linear
  36.   system defined by a syslin list containing the matrices [A,B,C,D] of Sl.
  37.   The nv first columns of X i.e V=X(:,1:nv), span this subspace which is also
  38.   the unobservable subspace of (A+B*F,C+D*F).
  39.  
  40.   The nr first columns of X spans R, the controllable part of V, (nr<=nv).
  41.   nr=0 for a left invertible system.
  42.  
  43.   The nvg first columns of X spans Vg=maximal AB-stabilizable subspace.
  44.   (nr<=nvg<=nv).  The modes of X2'*(A*BF)*X(:,1:nvg) are either assignable or
  45.   stable. For X=[V,X2] (X2=X(:,nv+1:nx)) one has X2'*(A+B*F)*V=0 and
  46.   (C+D*F)*V=0.
  47.  
  48.   The zeros are given by : X0=X(:,nr+1:nv); spec(X0'*(A+B*F)*X0) i.e. nv-nr
  49.   closed-loop fixed modes.  If the optional real parameter alfa is given as
  50.   input, the nr controllable modes of (A+BF) are set to alfa.
  51.  
  52.   Z is a column compression of Sl and k the normal rank of Sl. (nv=nx  iff
  53.   C^(-1)(D)=0).
  54.  
  55.   DDPS:
  56.      Find u=Fx+Rd which reject Q*d and stabilizes the plant:
  57.  
  58.       xdot=Ax+Bu+Qd
  59.       y=Cx+Du
  60.   DDPS has a solution iff Im(Q) is included in Vg + Im(B).
  61.   Let G=(X(:,nvg+1:nx))'= left anihilator of Vg i.e. G*Vg=0;
  62.   B2=G*B; Q2=G*Q; DDPS solvable iff B2(:,1:k)*R1 + Q2 =0 has a solution.
  63.   R=[R1;*] is the solution  (with F=output of abinv).
  64.   Im(Q2) is in Im(B2) means row-compression of B2=>row-compression of Q2
  65.   Then C*[(sI-A-B*F)^(-1)+D]*(Q+B*R) =0   (<=>G*(Q+B*R)=0)
  66.  
  67. EXAMPLE
  68.   nu=3;ny=4;nx=7;
  69.   nrt=2;ngt=3;ng0=3;nvt=5;rk=2;
  70.   flag=list('on',nrt,ngt,ng0,nvt,rk);
  71.   Sl=ssrand(ny,nu,nx,flag);alfa=-1;
  72.   [X,nr,nvg,nv,F,k,Z]=abinv(Sl,alfa);
  73.   [A,B,C,D]=abcd(Sl);
  74.   V=X(:,1:nv);X2=X(:,nv+1:nx);
  75.   X2'*(A+B*F)*V
  76.   (C+D*F)*V
  77.   X0=X(:,nr+1:nv); spec(X0'*(A+B*F)*X0)
  78.   trzeros(Sl)
  79.   clean(ss2tf(Sl*Z))
  80.  
  81. AUTHOR
  82.   F.D.
  83.  
  84. SEE ALSO
  85.   abinv, st_ility, ssrand
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.